package com.ddyx.service;

import com.ddyx.util.RequestForm;
import com.ddyx.util.ResponseForm;

public interface IGoodsService {

	/**
	 * @Title: addGoodsBysSalesclerk   
	 * @Description: 添加商品(店员)   
	 * @param: @param param
	 * @param: @return
	 * @param: @throws Exception      
	 * @return: ResponseForm      
	 * @throws
	 */
	public ResponseForm addGoodsBysSalesclerk(RequestForm param) ;

	/**
	 * @Title: selectGoodsListBysSalesclerk   
	 * @Description: 商品列表(带排序) 
	 * @param: @param param
	 * @param: @return
	 * @param: @throws Exception      
	 * @return: ResponseForm      
	 * @throws
	 */
	public ResponseForm selectGoodsListBysSalesclerk(RequestForm param) ;

	public ResponseForm getIndexTop(RequestForm param);
	
	/**
	 * @Title: deleteGoodsBysSalesclerk   
	 * @Description: 删除商品  
	 * @author: JiangShuai
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm deleteGoodsBysSalesclerk(RequestForm param) ;
	
	/**
	 * @Title: updateGoodsBysSalesclerk   
	 * @Description: 修改商品  
	 * @author: JiangShuai
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm updateGoodsBysSalesclerk(RequestForm param) ;

	/**
	 * @Title: getHotGoods   
	 * @Description: 获取最热商品列表  
	 * @author: lhj
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getHotGoods(RequestForm param);

	/**
	 * @Title: getNewGoods   
	 * @Description: 获取最新商品列表  
	 * @author: lhj
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getNewGoods(RequestForm param);

	/**
	 * @Title: getCommendGoods   
	 * @Description: 获取最新商品列表  
	 * @author: lhj
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getCommendGoods(RequestForm param);

	/**
	 * @Title: getDisCountGoods   
	 * @Description: 获取最新商品列表  
	 * @author: lhj
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getDiscountGoods(RequestForm param);
	
	/**
	 * @Title: getFindGoods   
	 * @Description: 获取发现商品列表  
	 * @author: wush
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getFindGoods(RequestForm param);
	
	
	/**
	 * @Title: getActivityGoods   
	 * @Description: 获取活动商品列表  
	 * @author: wush
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getActivityGoods(RequestForm param);
	
	/**
	 * @Title: searchGoods   
	 * @Description: 搜索活动商品列表  
	 * @author: wush
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm searchGoods(RequestForm param);
	
	/**
	 * @Title: getGoodsListByIds   
	 * @Description: 根据多个id查询活动商品
	 * @author: wush
	 * @param: @param param
	 * @param: @return      
	 * @return: ResponseForm
	 */
	public ResponseForm getGoodsListByIds(RequestForm param);

	/**
	 * @Title: updateGoodsStatus
	 * @Description: 批量修改商品状态（上架、下架、推荐、最新）
	 * @author: wush
	 * @param: @param
	 *             param
	 * @param: @return
	 * @return: ResponseForm
	 */
	public ResponseForm updateGoodsStatus(RequestForm param);
	
	/**
	 * @Title: getGoodInfo
	 * @Description: 根据商品id获取商品详情
	 * @author: lhj
	 * @param: @param param
	 * @param: @return
	 * @return: ResponseForm
	 */
	public ResponseForm getGoodInfo(RequestForm param);

	/**
	 * @Title: getGoodsListByTag
	 * @Description: 根据tag标签获取商品列表
	 * @author: lhj
	 * @param param
	 * @return
	 */
	public ResponseForm getGoodsListByTag(RequestForm param);

	ResponseForm getGoodsShow(RequestForm param);

	
	/**
	 * @Title: getGoodDetail
	 * @Description: 根据商品id获取商品详情
	 * @param param
	 * @return
	 */
	public ResponseForm getGoodDetail(RequestForm param);

	
	/**
	 * @Title: addGood
	 * @Description:支付版本 -添加商品 
	 * @param param
	 * @return
	 */
	public ResponseForm addGoods(RequestForm param);
	/**
	 * @Title: updateGoods
	 * @Description:支付版本 -修改商品 
	 * @param param
	 * @return
	 */
	public ResponseForm updateGoods(RequestForm param);

}
